package com.rolerealm.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 技能信息实体
 * 
 * @author RoleRealm Team
 * @version 1.0.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("skills")
public class SkillEntity {

    /**
     * 技能ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 技能代码
     */
    @TableField("skill_code")
    private String skillCode;

    /**
     * 技能名称
     */
    @TableField("skill_name")
    private String skillName;

    /**
     * 技能描述
     */
    @TableField("description")
    private String description;

    /**
     * 技能类型(qa/lang/creative)
     */
    @TableField("skill_type")
    private String skillType;

    /**
     * 技能图标URL
     */
    @TableField("icon_url")
    private String iconUrl;

    /**
     * 技能等级(1-5)
     */
    @TableField("level")
    private Integer level;

    /**
     * 技能标签
     */
    @TableField("tags")
    private String tags;

    /**
     * 是否启用(1:启用 0:禁用)
     */
    @TableField("enabled")
    private Integer enabled;

    /**
     * 创建时间
     */
    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField(value = "updated_at", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt;

    /**
     * 逻辑删除(0:未删除 1:已删除)
     */
    @TableLogic
    @TableField("deleted")
    private Integer deleted;
}
